<!-- 我的视频 -->

<template>
  <div class="full">
    <img :src="borderImg" />

    <CommonVideo v-if="showVideo" :id="video.deviceId" :name="video.deviceName" />
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import UTIL from '../../UTIL'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyVideo',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixScreen(), CORE.mixWeb(), CORE.mixLoop(30)],

  /**
   * 状态数据 (函数返回对象)
   */
  data() {
    return {
      index: 0, // 序号
    }
  },

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 父级概览组件
     */
    parentOverview() {
      return CORE.componentParent(this, 'SecureOverview')
    },

    /**
     * 是否显示视频
     */
    showVideo() {
      return !this.parentOverview.$refs.map.area_visible
    },

    /**
     * 边框图片
     */
    borderImg: () => UTIL.getImg('border-video'),

    /**
     * 视频信息
     */
    video() {
      return this.list[this.index] || {}
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 循环事件 (可覆盖)
     */
    toLoop() {
      const { index, list: { length } } = this
      this.index = index < length - 1 ? index + 1 : 0
    },
  },
}
</script>
